#include <stdio.h>

// 找到子串的函数
char *my_strstr(char *str1, char *str2) {
    char *ptr = str1;
    char *sub_ptr = str2;

    while (*ptr != '\0') {
        char *temp_ptr = ptr;
        while (*temp_ptr == *sub_ptr && *temp_ptr != '\0' && *sub_ptr != '\0') {
            temp_ptr++;
            sub_ptr++;
        }

        if (*sub_ptr == '\0') {
            // 如果子串已经匹配完毕，返回起始位置
            return ptr;
        } else {
            // 否则，子串指针回到起始位置
            sub_ptr = str2;
        }

        ptr++;
    }

    return NULL;
}

int main() {
    char str1[] = "ababcababcab";
    char str2[] = "ab";

    char *ptr = str1;
    int count = 0;

    // 循环计数
    while ((ptr = my_strstr(ptr, str2)) != NULL) {
        count++;
        ptr++;
    }

    printf("'%s' 在 '%s' 中出现的次数为: %d\n", str2, str1, count);

    return 0;
}